package com.briup.category.mapper;

import com.briup.category.domin.BookShopCarExtend;
import com.briup.category.domin.ShopCar;
import com.briup.category.domin.UserShopCarExtend;
import org.apache.ibatis.annotations.Param;
import java.util.List;

//购物⻋相关操作
public interface ShopCarMapper {
    //指定⽤户往购物⻋添加书籍
    void insertShopCar(@Param("userId")Integer userId,
                       @Param("bookId")Integer bookId,
                       @Param("num")Integer num);
    //指定⽤户修改购物⻋书籍数量
    void updateShopCar(ShopCar shopCar);
    //删除指定⽤户购物⻋中某本书籍
    void deleteShopCar(@Param("userId")Integer userId,
                       @Param("bookId")Integer bookId);
    //清空指定⽤户购物⻋
    void clearShopCar(Integer userId);
    //查询指定⽤户购物⻋中所有书籍信息（含数量）
    List<BookShopCarExtend> findBooksByUserId(Integer userId);

    //嵌套结果映射：查询指定⽤户信息（含购物⻋中所有书籍及数量信息）
    UserShopCarExtend findUserByIdResult(Integer userId);

    //嵌套结果查询：查询指定⽤户信息（含购物⻋中所有书籍及数量信息）
    UserShopCarExtend findUserByIdSelect(Integer userId);
}
